#ifndef LINKEDLIST_H
#define LINKEDLIST_H
#include <string>
#include <iostream>
#include "Time.h"
#include "Task.h"
#define MAX_SIZE 255
using namespace std;

template <typename T>
class LinkedList{
private:
	struct ListNode {
		T item;
		ListNode *next;
	};
	int _size;
	ListNode *_head;
	ListNode* find(int index) const;
public:
	LinkedList();
	bool isEmpty() const;
	int getLength() const;
	void insert(int index, const T& newItem);
	void remove(int index);
	void retrieve(int index, T& dataItem) const;
	void clear();
};

#endif